﻿// Training little cats poj-3735.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
http://poj.org/problem?id=3735

Facer 的宠物猫刚生了一窝小猫。考虑到这些可爱猫咪的健康，法克决定让猫咪们做一些运动。Facer 为他的猫精心设计了一套动作。
他现在要求您监督猫咪们做他的运动。法克的猫咪运动包含三个不同的动作：
g i： 让第 i 只猫吃一颗花生。
e i ： 让第 i 只猫吃掉所有花生。
s i j：让第 i 只猫和第 j 只猫交换花生。
所有的猫都要按顺序做这些动作，而且必须重复 m 次！可怜的猫！只有 Facer 才能想出这么尴尬的主意。
您必须确定每只猫最终拥有的花生数量，并直接给它们准确的数量，以拯救它们。


输入
输入文件由多个测试用例组成，以三个零 "0 0 0 "结尾。对于每个测试用例，首先给出三个整数 n、m 和 k，其中 n 是猫的数量，k 是移动序列的长度。
以下 k 行描述了移动序列。
(m≤1,000,000,000, n≤100, k≤100)

输出
对于每个测试用例，单行输出 n 个数字，代表猫拥有的花生数量。

Sample Input

3 1 6
g 1
g 2
g 2
s 1 2
g 3
e 2
0 0 0
Sample Output
2 0 1

*/
int main()
{
    std::cout << "Hello World!\n";
}

 